`timescale 1ns / 1ps
/////////////////////////////////////////////////////////////////////////////
////                                                                     ////
//// Instituto Tecnologico de Costa Rica                                 ////
////                                                                     ////
//// Test Bench Walk Register                                            ////
////                                                                     ////
//// Este archivo es parte del proyecto: Control de luces de semaforo    ////
//// http://repositorio-charmander.googlecode.com/svn/trunk/             ////
////                                                                     ////
//// Descripcion                                                         ////
//// Implementacion de un control de luces de semaforo como un proyecto  ////
//// del curso de Taller de Diseño Logico.                               ////
////                                                                     ////
//// Funcionamiento:                                                     ////
//// - Modulo de test bench del walk register                            ////
////                                                                     ////
////                                                                     ////                                    
//// Autores:                                                            ////
//// - Gia Chen, kathya0812@gmail.com                                    ////
////   Edgar Rojas, edtec217@gmail.com                                   ////
////                                                                     ////
/////////////////////////////////////////////////////////////////////////////

module WalkRegister_tb;

	// Inputs
	reg _clk_i;
	reg WR_sync_i;
	reg _WR_rst_i;
	reg _sync_rst_i;

	// Outputs
	wire Walk_Request_o;

	// Instantiate the Unit Under Test (UUT)
	WalkRegister uut (
		._clk_i(_clk_i), 
		.WR_sync_i(WR_sync_i), 
		.Walk_Request_o(Walk_Request_o), 
		._WR_rst_i(_WR_rst_i), 
		._sync_rst_i(_sync_rst_i)
	);

	//Instanciacion del clock
	initial begin
	_clk_i = 0;
	forever begin
	_clk_i = ~_clk_i;
	#50;
	end
	end
	
	initial begin
		// Initialize Inputs
		_clk_i = 0;
		WR_sync_i = 0;
		_WR_rst_i = 0;
		_sync_rst_i = 0;

		// Wait 100 ns for global reset to finish
		#50;
        
		// Add stimulus here
		WR_sync_i = 1;
		#50;
		WR_sync_i = 0;
		#200
		_WR_rst_i = 1;
		#200
		_WR_rst_i = 0;
		WR_sync_i = 1;
		#70
		_sync_rst_i = 1;
		
	end   
endmodule

